﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;

namespace KPIS.GERP.Models.HRM
{
    [DataContract, Table("HrmMasPositionType")]
    public class MasPositionType
    {
        [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        [DataMember, Display(Name = "PosTypeId", ResourceType = typeof(Resources.MasPositionTypeResource))]
        public int PosTypeId { get; set; }

        [DataMember, Display(Name = "Name", ResourceType = typeof(Resources.MasPositionTypeResource))]
        public string Name { get; set; }

        [DataMember, Display(Name = "NameShort", ResourceType = typeof(Resources.MasPositionTypeResource))]
        public string NameShort { get; set; }

        [DataMember, Display(Name = "NameEng", ResourceType = typeof(Resources.MasPositionTypeResource))]
        public string NameEng { get; set; }

        [DataMember, Display(Name = "NameEngShort", ResourceType = typeof(Resources.MasPositionTypeResource))]
        public string NameEngShort { get; set; }

        [ForeignKey("MasEmployeeType")]
        [DataMember, Display(Name = "EmpTypeId", ResourceType = typeof(Resources.MasPositionTypeResource))]
        public int? EmpTypeId { get; set; }

        [DataMember, Display(Name = "Remarks", ResourceType = typeof(Resources.MasPositionTypeResource))]
        public string Remarks { get; set; }

        [EnumDataType(typeof(SYS.RecordStatus.EnumRecordStatus))]
        [DataMember, Display(Name = "RecordStatus", ResourceType = typeof(Resources.MasPositionTypeResource))]
        public string RecordStatus { get; set; }

        public int? CreatedBy { get; set; }
        public DateTime? CreatedWhen { get; set; }
        public int? UpdatedBy { get; set; }
        public DateTime? UpdatedWhen { get; set; }

        [DataMember]
        public virtual MasEmployeeType MasEmployeeType { get; set; }
    }
}
